New multi-line regexp and new regexp syntax.
authorFrancesco Potortì <pot@gnu.org>
Thu, 13 Jun 2002 10:44:15 +0000 (10:44 +0000)
committerFrancesco Potortì <pot@gnu.org>
Thu, 13 Jun 2002 10:44:15 +0000 (10:44 +0000)
commitea0e4bac3e10dd0bb3d452c22993263229083e15
tree926b777bd8718ee9b4273e35120d8a115e9b5945
parentd4460b27a68df971f0e46826ed3c0b2ace8c4a07
 New multi-line regexp and new regexp syntax.
(arg_type): at_icregexp label removed (obsolete).
(pattern): New member multi_line for multi-line regexps.
(filebuf): A global buffer containing the whole file as a string
for multi-line regexp matching.
(need_filebuf): Global flag raised if multi-line regexps used.
(print_help): Document new regexp modifiers, remove references to
obsolete option --ignore-case-regexp.
(main): Do not set regexp syntax and translation table here.
(main): Treat -c option as a backward compatibility hack.
(main, find_entries): Init and free filebuf.
(find_entries): Call regex_tag_multiline after the regular parser.
(scan_separators): Check for untermintaed regexp and return NULL.
(analyse_regex, add_regex): Remove the ignore_case argument, which
is now a modifier to the regexp.  All callers changed.
(add_regex): Manage the regexp modifiers.
(regex_tag_multiline): New function.  Reads from filebuf.
(readline_internal): If necessary, copy the whole file into filebuf.
(readline): Skip multi-line regexps, leave them to regex_tag_multiline.

(add_regex): Better check for null regexps.
(readline): Check for regex matching null string.
(find_entries): Reorganisation.
lib-src/etags.c